#pragma once
#include "InOut.h"

#include <IFactory.h>

class WinnerChecker;

class ChessFactory : public ExperientialSystem::IFactory
{
	WinnerChecker* _winnerChecker;

public:
	ChessFactory(WinnerChecker* winnerChecker);
	~ChessFactory();

	virtual ExperientialSystem::IStatus* CreateStatus() const ;

	virtual ExperientialSystem::IValue* CreateValue() const ;

	virtual ExperientialSystem::IPolicy* CreatePolicy() const ;

};

